package com.atguigu.gulimall.search.vo.result;

import com.atguigu.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description :检索返回的所有数据
 * @Author : mayp
 * @Date: 2020-09-21 12:46
 */
@Data
public class SearchResult {
//    查询到的所有商品信息
    private List<SkuEsModel> products;

    /**
     * 以下是分页信息
     */
//    当前页码
    private Integer pageNum;
//    总记录数
    private Long total;
//    总页码
    private Integer totalPages;

//    当前查询到的结果，所有涉及到的品牌
    private List<BrandVo> brands;

//    当前查询到的结果，所有涉及到所有分类
    private List<CatalogVo> catalogs;

//    当前查询到的结果，所有涉及到的所有属性
    private List<AttrVo> attrs;

//    导航页
    private List<Integer> pageNavs;

//    面包屑导航
    private List<NavVo> navs = new ArrayList<>();

    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;
    }

    /**
     * 注意：以下内部类的名称来自于SKuEsModel
     */
    @Data
    public static class BrandVo{
//        品牌id
        private Long brandId;
//        品牌名称
        private String brandName;
//        品牌图片
        private String brandImg;
    }

    @Data
    public static class CatalogVo{
//        分类id
        private Long catalogId;
//        分类名称
        private String catalogName;
    }

    @Data
    public static class AttrVo{
//        属性id
        private Long attrId;
//        属性名称
        private String attrName;
//        属性值
        private List<String> attrValue;
    }
}
